home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 1256 / tour029.co_ / tour029.co
Text File  |  1997-04-18  |  12KB  |  318 lines

  1.       *---Created with EasyCODE(COB)----------------------------------- # EASY O
  2.       *---Last modification: 01.03.1995 14:24:30----------------------- # EASY K
  3.       *This program prints a customers list for each journey that is bo\
  4.       *oked out.
  5.       *---------------------------------------------------------------- # EASY *
  6.       *---------------------------------------------------------------- # EASY (
  7.       *TOUR029
  8.       *---------------------------------------------------------------- # EASY *
  9.        IDENTIFICATION DIVISION.
  10.       *---------------------------------------------------------------- # EASY (
  11.       **** Identification Division ***
  12.       *---------------------------------------------------------------- # EASY *
  13.        PROGRAM-ID.  TOUR029.
  14.       *
  15.       *  THIS ASYNCHRONOUS PROGRAM PRINTS A CUSTOMERS LIST
  16.       *  FOR EACH JOURNEY THAT IS BOOKED OUT.
  17.       *  ITS TAC : PRINT
  18.       *
  19.       *---------------------------------------------------------------- # EASY )
  20.        ENVIRONMENT DIVISION.
  21.        DATA DIVISION.
  22.       *---------------------------------------------------------------- # EASY (
  23.       **** Data Division ***
  24.       *---------------------------------------------------------------- # EASY *
  25.       *---------------------------------------------------------------- # EASY (
  26.       **** WORKING-STORAGE Section ***
  27.       *---------------------------------------------------------------- # EASY *
  28.        WORKING-STORAGE SECTION.
  29.        77  RESULTMESSAGE-1  PIC X(80)
  30.        VALUE "CUSTOMERS LIST IS BEING PRINTED".
  31.        77  RESULTMESSAGE-2  PIC X(80)
  32.        VALUE "JOURNEY HAS BEEN ERASED".
  33.        77  ERRORMESSAGE-1   PIC X(80)
  34.        VALUE "SYSTEM FAILURE - WRONG JOURNEY-ID".
  35.        77  ERRORMESSAGE-2   PIC X(80)
  36.        VALUE "SYSTEM FAILURE - JOURNEY COULD NOT BE ERASED".
  37.        77  ERRORMESSAGE-3   PIC X(80)
  38.        VALUE "SYSTEM FAILURE - CUSTOMERS LIST CANNOT BE PRINTED".
  39.        77  ERRORMESSAGE-4   PIC X(80)
  40.        VALUE "SYSTEM FAILURE - NO BOOKINGS CAN BE FOUND".
  41.       
  42.       COPY KCOPC.
  43.       COPY KCDFC.
  44.       *                                 # EASY S
  45.       *---------------------------------------------------------------- # EASY )
  46.       *---------------------------------------------------------------- # EASY (
  47.       **** LINKAGE Section ***
  48.       *---------------------------------------------------------------- # EASY *
  49.        LINKAGE SECTION.
  50.       COPY KCKBC.
  51.       
  52.        05 DUMMY  PIC X.
  53.       
  54.       COPY KCPAC.
  55.       
  56.           03 JOURNEY.
  57.          COPY JOURNEY.
  58.       
  59.           03 BOOKING.
  60.          COPY BOOKING.
  61.       
  62.           03 BOSSINF.
  63.          COPY BOSSINF.
  64.       
  65.           03 LIST-HEADER.
  66.          COPY CLHEAD.
  67.       
  68.           03 LIST-ELEMENT.
  69.          COPY CLELEM.
  70.       
  71.           03 ERROR-SIGN             PIC 9.
  72.           03 EOF             PIC 9.
  73.       *                                 # EASY S
  74.       *---------------------------------------------------------------- # EASY )
  75.       *---------------------------------------------------------------- # EASY )
  76.        PROCEDURE DIVISION USING KCKBC KCSPAB.
  77.       *---------------------------------------------------------------- # EASY (
  78.       **** Procedure Division ***
  79.       *---------------------------------------------------------------- # EASY *
  80.       *---------------------------------------------------------------- # EASY (
  81.       **** INIT-OPERATION ***
  82.       *---------------------------------------------------------------- # EASY *
  83.        INIT-OPERATION.
  84.        MOVE INIT TO KCOP,
  85.        MOVE 0 TO KCLKBPRG,
  86.        MOVE 1000 TO KCLPAB,
  87.        CALL "KDCS" USING KCPAC
  88.        IF KCRCCC NOT = ZERO
  89.        THEN
  90.           PERFORM PEND-OPERATION
  91.        END-IF
  92.        .
  93.       *                                 # EASY P
  94.       *---------------------------------------------------------------- # EASY )
  95.       *---------------------------------------------------------------- # EASY (
  96.       **** FGET-OPERATION ***
  97.       *---------------------------------------------------------------- # EASY *
  98.        FGET-OPERATION.
  99.        MOVE FGET TO KCOP,
  100.        MOVE 4 TO KCLA,
  101.        MOVE SPACES TO KCMF,
  102.        CALL "KDCS" USING KCPAC, JOURNEY-ID OF JOURNEY
  103.        IF KCRCCC NOT = "000"
  104.        THEN
  105.           PERFORM PEND-OPERATION
  106.        END-IF
  107.        .
  108.       *                                 # EASY P
  109.       *---------------------------------------------------------------- # EASY )
  110.       *---------------------------------------------------------------- # EASY (
  111.       **** PROCESSING ***
  112.       *---------------------------------------------------------------- # EASY *
  113.        PROCESSING.
  114.        MOVE JOURNEY-ID OF JOURNEY TO JOURNEY-ID OF BOSSINF
  115.        CALL "RDJRNEY" USING JOURNEY, ERROR-SIGN
  116.        IF ERROR-SIGN = 0
  117.        THEN
  118.           PERFORM LIST-CAN-BE-PRODUCED
  119.        ELSE
  120.           PERFORM LIST-CANNOT-BE-PRODUCED
  121.        END-IF
  122.        .
  123.       *                                 # EASY P
  124.       *---------------------------------------------------------------- # EASY )
  125.       *---------------------------------------------------------------- # EASY (
  126.       **** FPUT-OPERATION ***
  127.       *---------------------------------------------------------------- # EASY *
  128.        FPUT-OPERATION.
  129.        MOVE FPUT TO KCOP,
  130.        MOVE "NE" TO KCOM,
  131.        MOVE 188 TO KCLM,
  132.        MOVE "*BOSSINF" TO KCMF,
  133.        MOVE "BOSSTERM" TO KCRN,
  134.        MOVE KCREPL TO KCDF
  135.        CALL "KDCS" USING KCPAC, BOSSINF
  136.        .
  137.       *                                 # EASY P
  138.       *---------------------------------------------------------------- # EASY )
  139.       *---------------------------------------------------------------- # EASY (
  140.       **** PEND-OPERATION ***
  141.       *---------------------------------------------------------------- # EASY *
  142.        PEND-OPERATION.
  143.        MOVE PEND TO KCOP,
  144.        MOVE "FI" TO KCOM,
  145.        CALL "KDCS" USING KCPAC
  146.        .
  147.       *                                 # EASY P
  148.       *---------------------------------------------------------------- # EASY )
  149.       *---------------------------------------------------------------- # EASY (
  150.       **** END-OF-PROGRAM ***
  151.       *---------------------------------------------------------------- # EASY *
  152.        END-OF-PROGRAM.
  153.        EXIT PROGRAM
  154.        .
  155.       *                                 # EASY P
  156.       *---------------------------------------------------------------- # EASY )
  157.       *---------------------------------------------------------------- # EASY (
  158.       **** LIST-CANNOT-BE-PRODUCED ***
  159.       *---------------------------------------------------------------- # EASY *
  160.        LIST-CANNOT-BE-PRODUCED.
  161.        MOVE SPACES TO WHERE-TO-GO OF BOSSINF,
  162.        BOOKED-SEATS OF BOSSINF
  163.       *                                 # EASY -
  164.        MOVE ERRORMESSAGE-1 TO MESSAGE-1 OF BOSSINF
  165.       *                                 # EASY -
  166.        MOVE ERRORMESSAGE-3 TO MESSAGE-2 OF BOSSINF
  167.        .
  168.       *                                 # EASY P
  169.       *---------------------------------------------------------------- # EASY )
  170.       *---------------------------------------------------------------- # EASY (
  171.       **** LIST-CAN-BE-PRODUCED ***
  172.       *---------------------------------------------------------------- # EASY *
  173.        LIST-CAN-BE-PRODUCED.
  174.        CALL "DELJRNEY" USING JOURNEY, ERROR-SIGN
  175.        IF ERROR-SIGN = 0
  176.        THEN
  177.           MOVE RESULTMESSAGE-2 TO MESSAGE-2 OF BOSSINF
  178.        ELSE
  179.           MOVE ERRORMESSAGE-2 TO MESSAGE-2 OF BOSSINF
  180.        END-IF
  181.        MOVE WHERE-TO-GO OF JOURNEY TO WHERE-TO-GO OF BOSSINF
  182.       *                                 # EASY -
  183.        MOVE BOOKED-SEATS OF JOURNEY TO
  184.        BOOKED-SEATS OF BOSSINF
  185.        PERFORM PRODUCE-LIST
  186.        .
  187.       *                                 # EASY P
  188.       *---------------------------------------------------------------- # EASY )
  189.       *---------------------------------------------------------------- # EASY (
  190.       **** PRODUCE-LIST ***
  191.       *---------------------------------------------------------------- # EASY *
  192.        PRODUCE-LIST.
  193.        PERFORM PRINT-LIST-HEADER
  194.        IF ERROR-SIGN NOT = 0
  195.        THEN
  196.           MOVE ERRORMESSAGE-1 TO MESSAGE-1 OF BOSSINF
  197.        ELSE
  198.           PERFORM PRINT-LIST-ELEMENTS
  199.        END-IF
  200.        .
  201.       *                                 # EASY P
  202.       *---------------------------------------------------------------- # EASY )
  203.       *---------------------------------------------------------------- # EASY (
  204.       **** PRINT-LIST-HEADER ***
  205.       *---------------------------------------------------------------- # EASY *
  206.        PRINT-LIST-HEADER.
  207.        MOVE JOURNEY-ID OF JOURNEY TO JOURNEY-ID OF LIST-HEADER
  208.       *                                 # EASY -
  209.        MOVE WHERE-TO-GO OF JOURNEY TO WHERE-TO-GO OF LIST-HEADER
  210.       *                                 # EASY -
  211.        MOVE BOOKED-SEATS OF JOURNEY TO
  212.        BOOKED-SEATS OF LIST-HEADER
  213.       *                                 # EASY -
  214.        MOVE FPUT TO KCOP
  215.       *                                 # EASY -
  216.        MOVE "NT" TO KCOM
  217.       *                                 # EASY -
  218.        MOVE 28 TO KCLM
  219.       *                                 # EASY -
  220.        MOVE "PRINTER" TO KCRN
  221.       *                                 # EASY -
  222.        MOVE "*CLHEAD" TO KCMF
  223.        CALL "KDCS" USING KCPAC, LIST-HEADER
  224.        IF KCRCCC = "000"
  225.        THEN
  226.           MOVE 0 TO ERROR-SIGN
  227.        ELSE
  228.           MOVE 1 TO ERROR-SIGN
  229.        END-IF
  230.        .
  231.       *                                 # EASY P
  232.       *---------------------------------------------------------------- # EASY )
  233.       *---------------------------------------------------------------- # EASY (
  234.       **** PRINT-LIST-ELEMENTS ***
  235.       *---------------------------------------------------------------- # EASY *
  236.        PRINT-LIST-ELEMENTS.
  237.        MOVE JOURNEY-ID OF JOURNEY TO JOURNEY-ID OF BOOKING
  238.        CALL "RDBOOKNG" USING BOOKING, ERROR-SIGN
  239.        IF ERROR-SIGN NOT = 0
  240.        THEN
  241.           MOVE ERRORMESSAGE-4 TO MESSAGE-1 OF BOSSINF,
  242.           MOVE ERRORMESSAGE-3 TO MESSAGE-2 OF BOSSINF
  243.        ELSE
  244.           MOVE 0 TO EOF, ERROR-SIGN,
  245.           PERFORM WITH TEST BEFORE UNTIL
  246.           ((EOF NOT = 0) OR
  247.           (ERROR-SIGN NOT = 0) OR
  248.           (JOURNEY-ID OF BOOKING NOT =
  249.           JOURNEY-ID OF JOURNEY)),
  250.          PERFORM NEXT-ELEMENT
  251.           END-PERFORM
  252.           IF ERROR-SIGN = 0
  253.           THEN
  254.          MOVE RESULTMESSAGE-1 TO MESSAGE-1 OF BOSSINF
  255.           ELSE
  256.          MOVE ERRORMESSAGE-3 TO MESSAGE-1 OF BOSSINF
  257.           END-IF
  258.        END-IF
  259.        .
  260.       *                                 # EASY P
  261.       *---------------------------------------------------------------- # EASY )
  262.       *---------------------------------------------------------------- # EASY (
  263.       **** NEXT-ELEMENT ***
  264.       *---------------------------------------------------------------- # EASY *
  265.        NEXT-ELEMENT.
  266.        MOVE BOOKING-ID OF BOOKING TO
  267.        BOOKING-ID OF LIST-ELEMENT
  268.       *                                 # EASY -
  269.        MOVE SEATS-TO-BE-BOOKED OF BOOKING TO
  270.        BOOKED-SEATS OF LIST-ELEMENT
  271.       *                                 # EASY -
  272.        MOVE FIRST-NAME OF BOOKING TO FIRST-NAME OF LIST-ELEMENT
  273.       *                                 # EASY -
  274.        MOVE SURNAME OF BOOKING TO
  275.        SURNAME OF LIST-ELEMENT
  276.       *                                 # EASY -
  277.        MOVE STREET OF BOOKING TO STREET OF LIST-ELEMENT
  278.       *                                 # EASY -
  279.        MOVE HOME-TOWN OF BOOKING TO HOME-TOWN OF LIST-ELEMENT
  280.       *                                 # EASY -
  281.        MOVE PLZ OF BOOKING TO PLZ OF LIST-ELEMENT
  282.        PERFORM PRINT-ELEMENT
  283.        IF ERROR-SIGN = 0
  284.        THEN
  285.           CALL "NXTBOOKNG" USING BOOKING, EOF
  286.        END-IF
  287.        .
  288.       *                                 # EASY P
  289.       *---------------------------------------------------------------- # EASY )
  290.       *---------------------------------------------------------------- # EASY (
  291.       **** PRINT-ELEMENT ***
  292.       *---------------------------------------------------------------- # EASY *
  293.        PRINT-ELEMENT.
  294.        MOVE FPUT TO KCOP
  295.       *                                 # EASY -
  296.        MOVE "NT" TO KCOM
  297.       *                                 # EASY -
  298.        MOVE 108 TO KCLM
  299.       *                                 # EASY -
  300.        MOVE "PRINTER" TO KCRN
  301.       *                                 # EASY -
  302.        MOVE "*CLELEM" TO KCMF
  303.       *                                 # EASY -
  304.        MOVE ZERO TO KCDF
  305.        CALL "KDCS" USING KCPAC, LIST-ELEMENT
  306.        IF KCRCCC = "000"
  307.        THEN
  308.           MOVE 0 TO ERROR-SIGN
  309.        ELSE
  310.           MOVE 1 TO ERROR-SIGN
  311.        END-IF
  312.        .
  313.       *                                 # EASY P
  314.       *---------------------------------------------------------------- # EASY )
  315.       *---------------------------------------------------------------- # EASY )
  316.        END PROGRAM TOUR029.
  317.       *---------------------------------------------------------------- # EASY )
  318.